package com.SparkCore.RDD.Operator.Transform

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}


/**
 * 扁平化映射 ， 获取一个集合里面的所有元素
 */
object Spark04_RDD_Operator_Transform {

  def main(args: Array[String]): Unit = {

    //创建环境
    val sparkConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
    val sparkContext = new SparkContext(sparkConf)

    //创建RDD算子 -- flatMap
    val rdd: RDD[List[Int]] = sparkContext.makeRDD(List(
      List(1, 2), List(3, 4)
    ))

    val flatRDD = rdd.flatMap(
      list => {
        list
      }
    )

    flatRDD.collect().foreach(println)

    val rdd1 = sparkContext.makeRDD(List(
      "hello word", "hello scala"
    ))
    val flatRDD1: RDD[String] = rdd1.flatMap(
      s => {
        s.split(" ")
      }
    )

    flatRDD1.collect().foreach(println)
    //关闭环境
    sparkContext.stop()
  }
}
